package linker

import "unsafe"

const AppVersion = "0.0.1"
const PageSize = 4096

const IMAGE_BASE uint64 = 0x200000
const EF_RISCV_RVC uint32 = 1

const EhdrSize = int(unsafe.Sizeof(Ehdr{}))
const ShdrSize = int(unsafe.Sizeof(Shdr{}))
const PhdrSize = int(unsafe.Sizeof(Phdr{}))
const SymSize = int(unsafe.Sizeof(Sym{}))
const ArHdrSize = int(unsafe.Sizeof(ArHdr{}))
const RelaSize = int(unsafe.Sizeof(Rela{}))

const (
	MachineTypeNone    MachineType = iota
	MachineTypeRISCV64 MachineType = iota
)

// types of file can be parsed in this project
const (
	FileTypeUnknown FileType = iota
	FileTypeEmpty   FileType = iota
	FileTypeObject  FileType = iota
	FileTypeArchive FileType = iota
)

var prefixes = []string{
	".text.", ".data.rel.ro.", ".data.", ".rodata.", ".bss.rel.ro.", ".bss.",
	".init_array.", ".fini_array.", ".tbss.", ".tdata.", ".gcc_except_table.",
	".ctors.", ".dtors.",
}

const (
	NeedsGotTp uint32 = 1 << 0
)

// DONE
